在Web使用JavaScript在靈活度及動態上面一定是比公式強上許多,我們就來看看怎樣改善我們的程式寫法及增進效能囉.
再網頁上的設計誰不用到JavaScript?幾乎都可能用到,但大部分都是用公式@WebDbName或是舊式寫法@ReplaceSubstring( @Subset ( @DBName; -1 ); "\\"; "/")來獲取路徑再做其他的處理.有時為了給JavaScript應用,使用公式讀取後再給JavaScript應用這樣感覺有畫蛇添足的意味也會佔Server 效能.
以下提供兩段程式讓大家應用,第01段程式可能會比較常見getDBPath()可以直接獲得路徑,第02段程式分別示範了Agent URL、Design URL、Direct URL三種獲取路徑的方式.或許可以在改良成參數化的萬用路徑函式.
[第01段程式]
function getDBPath() {
var pathname = window.location.pathname;
var iPos = window.location.pathname.toString().toLowerCase().lastIndexOf('.nsf');
if (iPos > 0) return pathname.substring(0, iPos + 4);
return pathname;
}
[第02段程式]
protocol = window.location.protocol ;
var pathname = window.location.pathname;
var design= pathname.substring(pathname.lastIndexOf('/')+1);
var webdbname = pathname.substring(1,(pathname.lastIndexOf('.nsf')+4));
// Agent URL
var url=protocol+ "//"+window.location.host+"/"+webdbname+"/ActionListener?OpenAgent"
alert("Agent URL "+url);
// Design URL
var url=protocol+ "//"+window.location.host+"/"+webdbname+"/"+design
alert("Design URL "+url);
// Direct URL
var url=protocol+ "//"+window.location.host+"/"+webdbname+"?logout&redirectTo="+"/"+webdbname+"/"+Design
alert("Direct URL "+url);